
namespace Patterns4Net.Attributes.DesignPatterns
{
    using System;

    /// <summary>
    /// Use this attribute to annotate a type as an implementation of the Decorator design pattern.
    /// </summary>
    [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
    public class DecoratorAttribute : Attribute, IPatternAttribute
    {
        /// <summary>
        /// Gets or sets the type of the decorated interface.
        /// This value is required.
        /// </summary>
        public Type Decorated { get; set; }
    }
}
